﻿using PLCS.Domain.Shared.Tasks;

namespace PLCS.Application.Contracts.HisTaskApp.Dtos;

public class HisTaskDto : EntityDto<Guid>
{
    /// <summary>
    /// 任务号
    /// </summary>
    public int TaskId { get; set; }

    public string OrderNo { get; set; }

    /// <summary>
    /// 执行设备编号
    /// </summary>
    public string EquipmentNo { get; set; }

    /// <summary>
    /// 任务类型
    /// </summary>
    public TaskType TaskType { get; set; }

    /// <summary>
    /// 任务起始位
    /// </summary>
    public string? StartPos { get; set; }

    /// <summary>
    /// 任务目标位
    /// </summary>
    public string? EndPos { get; set; }

    public string TaskSource { get; set; }

    /// <summary>
    /// 优先级
    /// </summary>
    public int Level { get; set; }

    /// <summary>
    /// 执行前方法
    /// </summary>
    public string? BeforeExecutionMethod { get; set; }

    /// <summary>
    /// 执行完成后方法
    /// </summary>
    public string? AfterExecutionMethod { get; set; }

    /// <summary>
    /// 托盘类型
    /// </summary>
    public TrayType TrayType { get; set; }

    /// <summary>
    /// 任务状态
    /// </summary>
    public Domain.Shared.Tasks.TaskStatus TaskStatus { get; set; }

    /// <summary>
    /// 工作工位
    /// </summary>
    public string? WorkingStation { get; set; }

    /// <summary>
    /// 结束时间
    /// </summary>
    public DateTime FinshedTime { get; set; }

    public DateTime CreationTime { get; set; }
}